package com.xdhl.fu.order.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xdhl.fu.common.core.annotation.Excel;
import com.xdhl.fu.common.mybatisplus.domain.BaseEntity;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 订单信息
 * 对象 order_info
 *
 * @author 朱力维
 * @time 2022/5/29 17:01
 */
@TableName("order_info")
@Data
public class OrderInfo extends BaseEntity {
    /**
     * 数据ID
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String dataId;

    /**
     * 订单流水号
     */
    @Excel(name = "订单流水号")
    private String serialNumber;

    /**
     * 航班数据ID
     */
    @Excel(name = "航班数据ID")
    private String flightDataId;

    /**
     * 总票价
     */
    @Excel(name = "总票价")
    private Double price;

    /**
     * 订单所属会员
     */
    @Excel(name = "订单所属会员")
    private String memberDataId;

    /**
     * 订单状态
     */
    @Excel(name = "订单状态")
    private String oStatus;

    /**
     * 改签状态
     */
    @Excel(name = "改签状态")
    private String changeStatus;

    /**
     * 改签起飞时间
     */
    @Excel(name = "改签起飞时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime changeDepartureTime;

    /**
     * 改签到达时间
     */
    @Excel(name = "改签到达时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime changeArrivalTime;

    /**
     * 目标舱位
     */
    @Excel(name = "目标舱位")
    private String changeClass;

    /**
     * 目标价格
     */
    @Excel(name = "目标价格")
    private Double changePrice;

    /**
     * 改签申请时间
     */
    @Excel(name = "改签申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime changeTime;

    /**
     * 目标航班数据ID
     */
    @Excel(name = "目标航班数据ID")
    private String changeFlightDataId;

    /**
     * 退订状态
     */
    @Excel(name = "退订状态")
    private String chargebackStatus;

    /**
     * 退订申请时间
     */
    @Excel(name = "退订申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime chargebackTime;

}
